/**
 * @description app网络层，目前只负责处理app向服务器端发送请求;
 * 依赖mui.js => m  || appConfig
 */
var n = {
	baseUrl: function(){
		return appConfig.getRequestUrl();
	},
	/**
	 * @description 网络请求,依赖mui.js,只返回请求成功的结果
	 * @param {String} url 请求路径
	 * @param {String} method 请求方式：'post','get'
	 * @param {Object} paramObj 请求参数
	 * @param {Function} CB 请求成功回调
	 */
	request: function(url, method, param, CB){
		var url    = this.baseUrl() + url,
			method = method || 'get',
			param  = (method === 'post' ? JSON.stringify(param) : param) || {},
			CB     = CB || m.noop || function(){};
		
		// 只有在webview中可用
		m.plusReady(function(){
			if(method === 'get' || 'post'){
				m[method](url, param, function(data){
					if(data && data.code === '100')return CB(data);
				});
			} 
		});
	},
	/**
	 * @description ajax请求，返回请求失败后的状态，测试中使用，不推荐生产环境使用
	 * @param {String} url
	 * @param {Object} param
	 * @param {String} method
	 * @param {Function} successCB
	 * @param {Function} errorCB
	 */
	ajax : function(url, param, method, successCB, errorCB){
		var url       = this.baseUrl + url,
			param 	  = (method === 'post' ? JSON.stringify(param) : info),
			successCB = successCB || m.noop,
			errorCB   = errorCB || m.noop;
		
		console.log(url);
		console.log(method !== 'post' ? JSON.stringify(info) : info);
		
		m.plusReady(function(){
			m.ajax(url,{
				data:param,
				dataType:'json',//服务器返回json格式数据
				type:method,//HTTP请求类型
				success:function(data){
					//服务器返回响应，根据响应结果，分析是否登录成功；
					return successCB(data);
				},
				error:function(xhr,type,errorThrown){
					//异常处理；
					console.log(xhr.status+'\n'+type+'\n'+errorThrown);
					return errorCB(xhr.response+'\n'+type+'\n'+errorThrown);
				}
			});
		})
	}
}
